export const imageToBase64 = (img) => {
  var canvas = document.createElement('canvas') //创建一个canvas对象
  //初始化
  canvas.width = img.width
  canvas.height = img.height

  //也是初始化，getContext("2d")这个方法表示创建一个2d的画布，详情可以看文档
  var ctx = canvas.getContext('2d')

  // 把我们创建的图片传入，画布创建完毕
  ctx.drawImage(img, 0, 0, img.width, img.height)
  var ext = img.src.substring(img.src.lastIndexOf('.') + 1).toLowerCase()

  //我们要的base64就拿到了
  var dataURL = canvas.toDataURL('image/jpeg' + ext)
  return dataURL
}

export const getImage = (url, cb) => {
  var image = new Image()
  image.src = url

  // onload事件，image一旦加载完就会触发
  image.onload = function () {
    let base64 = imageToBase64(image) //这里就将我们的图片传入给canvas了

    //因为是在onload事件内，所以结果要以回调的形式返回
    cb && typeof cb == 'function' && cb(base64)
  }
}
